package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户佣金记录业务对象 p_user_brokerage_record
 *
 * @author ruoyi
 * @date 2022-07-26
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("用户佣金记录业务对象")
public class PUserBrokerageRecordBo extends BaseEntity {

    /**
     * 记录id
     */
    @ApiModelProperty(value = "记录id", required = true)
    @NotNull(message = "记录id不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 用户uid
     */
    @ApiModelProperty(value = "用户uid", required = true)
    @NotNull(message = "用户uid不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long uid;

    /**
     * 咨询订单id
     */
    @ApiModelProperty(value = "咨询订单id", required = true)
    @NotNull(message = "咨询订单id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long orderId;

    /**
     * 0 收入 1 支出
     */
    @ApiModelProperty(value = "0 收入 1 支出", required = true)
    @NotBlank(message = "0 收入 1 支出不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 标题
     */
    @ApiModelProperty(value = "标题", required = true)
    @NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class })
    private String title;

    /**
     * 佣金
     */
    @ApiModelProperty(value = "佣金", required = true)
    @NotNull(message = "佣金不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal price;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", required = true)
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String mark;

    /**
     * 分销等级
     */
    @ApiModelProperty(value = "分销等级", required = true)
    @NotNull(message = "分销等级不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer brokerageLevel;


}
